翻訳と辞書
Words near each other
・ "O" Is for Outlaw
・ "O"-Jung.Ban.Hap.
・ "Ode-to-Napoleon" hexachord
・ "Oh Yeah!" Live
・ "Our Contemporary" regional art exhibition (Leningrad, 1975)
・ "P" Is for Peril
・ "Pimpernel" Smith
・ "Polish death camp" controversy
・ "Pro knigi" ("About books")
・ "Prosopa" Greek Television Awards
・ "Pussy Cats" Starring the Walkmen
・ "Q" Is for Quarry
・ "R" Is for Ricochet
・ "R" The King (2016 film)
・ "Rags" Ragland
・ ! (album)
・ ! (disambiguation)
・ !!
・ !!!
・ !!! (album)
・ !!Destroy-Oh-Boy!!
・ !Action Pact!
・ !Arriba! La Pachanga
・ !Hero
・ !Hero (album)
・ !Kung language
・ !Oka Tokat
・ !PAUS3
・ !T.O.O.H.!
・ !Women Art Revolution


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

pigeonhole sort : ウィキペディア英語版
pigeonhole sort

Pigeonhole sorting is a sorting algorithm that is suitable for sorting lists of elements where the number of elements (''n'') and the number of possible key values (''N'') are approximately the same.〔(NIST's Dictionary of Algorithms and Data Structures: pigeonhole sort )〕 It requires O(''n'' + ''N'') time. It is similar to counting sort, but differs in that it "moves items twice: once to the bucket array and again to the final destination () counting sort builds an auxiliary array then uses the array to compute each item's final destination and move the item there."
The pigeonhole algorithm works as follows:
# Given an array of values to be sorted, set up an auxiliary array of initially empty "pigeonholes," one pigeonhole for each key through the range of the original array.
# Going over the original array, put each value into the pigeonhole corresponding to its key, such that each pigeonhole eventually contains a list of all values with that key.
# Iterate over the pigeonhole array in order, and put elements from non-empty pigeonholes back into the original array.
==Example==
Suppose we were sorting these value pairs by their first element:
* (5, "hello")
* (3, "pie")
* (8, "apple")
* (5, "king")
For each value between 3 and 8 we set up a pigeonhole, then move each element to its pigeonhole:
* 3: (3, "pie")
* 4:
* 5: (5, "hello"), (5, "king")
* 6:
* 7:
* 8: (8, "apple")
We then iterate over the pigeonhole array in order and move them back to the original list.
The difference between pigeonhole sort and counting sort is that in counting sort, the auxiliary array does not contain lists of input elements, only counts:
* 3: 1
* 4: 0
* 5: 2
* 6: 0
* 7: 0
* 8: 1
Using this information we can perform a series of exchanges on the input array that puts it in order, moving items only once.
For arrays where ''N'' is much larger than ''n'', bucket sort is a generalization that is more efficient in space and time.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「pigeonhole sort」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.